package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户活动参与关联对象 credit_activity_participant
 * 
 * @author ruoyi
 * @date 2024-01-26
 */
public class CreditActivityParticipant extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 参与记录ID */
    private Long participantId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 活动ID */
    @Excel(name = "活动ID")
    private Long activityId;

    /** 参与时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "参与时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date participateTime;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date completeTime;

    /** 获得积分 */
    @Excel(name = "获得积分")
    private Integer earnedPoints;

    /** 参与状态（0已报名 1进行中 2已完成 3已取消） */
    @Excel(name = "参与状态", readConverterExp = "0=已报名,1=进行中,2=已完成,3=已取消")
    private String status;

    /** 用户反馈 */
    @Excel(name = "用户反馈")
    private String feedback;

    /** 评价分数 */
    @Excel(name = "评价分数")
    private Integer rating;

    public void setParticipantId(Long participantId) 
    {
        this.participantId = participantId;
    }

    public Long getParticipantId() 
    {
        return participantId;
    }
    
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    
    public void setActivityId(Long activityId) 
    {
        this.activityId = activityId;
    }

    public Long getActivityId() 
    {
        return activityId;
    }
    
    public void setParticipateTime(Date participateTime) 
    {
        this.participateTime = participateTime;
    }

    public Date getParticipateTime() 
    {
        return participateTime;
    }
    
    public void setCompleteTime(Date completeTime) 
    {
        this.completeTime = completeTime;
    }

    public Date getCompleteTime() 
    {
        return completeTime;
    }
    
    public void setEarnedPoints(Integer earnedPoints) 
    {
        this.earnedPoints = earnedPoints;
    }

    public Integer getEarnedPoints() 
    {
        return earnedPoints;
    }
    
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    
    public void setFeedback(String feedback) 
    {
        this.feedback = feedback;
    }

    public String getFeedback() 
    {
        return feedback;
    }
    
    public void setRating(Integer rating) 
    {
        this.rating = rating;
    }

    public Integer getRating() 
    {
        return rating;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("participantId", getParticipantId())
            .append("userId", getUserId())
            .append("activityId", getActivityId())
            .append("participateTime", getParticipateTime())
            .append("completeTime", getCompleteTime())
            .append("earnedPoints", getEarnedPoints())
            .append("status", getStatus())
            .append("feedback", getFeedback())
            .append("rating", getRating())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
} 